package org.springblade.modules.repair.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 群-机器人推送 枚举
 * @author Sharry
 * @since 2023/10/9
 */
@Getter
@AllArgsConstructor
public enum GroupRobotEnum {

	/**
	 * 维修派单
	 */
	REPAIR_SEND(MaintainPlanContentEnum.MAINTAIN_WX.getId(), TaskStatusEnum.WX_ALLOCATION.getStatus(), "维修派单"),
	/**
	 * 维修开始
	 */
	REPAIR_BEGIN(MaintainPlanContentEnum.MAINTAIN_WX.getId(), TaskStatusEnum.WX_PENDING.getStatus(), "维修开始"),
	/**
	 * 维修到场
	 */
	REPAIR_ARRIVE(MaintainPlanContentEnum.MAINTAIN_WX.getId(), TaskStatusEnum.WX_TO_START.getStatus(), "维修到场"),
	/**
	 * 维修退场
	 */
	REPAIR_LEAVE(MaintainPlanContentEnum.MAINTAIN_WX.getId(), TaskStatusEnum.WX_UNDER_WAY.getStatus(), "维修退场"),
	/**
	 * 维修完成
	 */
	REPAIR_FINISH(MaintainPlanContentEnum.MAINTAIN_WX.getId(), TaskStatusEnum.WX_SIGN_FINISH.getStatus(), "维修完成"),
	/**
	 * 保养开始
	 */
	MAINTAIN_BEGIN(MaintainPlanContentEnum.MAINTAIN_BY.getId(), TaskStatusEnum.BY_DISABLE.getStatus(),"保养开始"),
	/**
	 * 保养到场
	 */
	MAINTAIN_ARRIVE(MaintainPlanContentEnum.MAINTAIN_BY.getId(), TaskStatusEnum.BY_PROCESSED.getStatus(), "保养到场"),
	/**
	 * 保养退场
	 */
	MAINTAIN_LEAVE(MaintainPlanContentEnum.MAINTAIN_BY.getId(), TaskStatusEnum.BY_FINISH.getStatus(), "保养退场"),
	/**
	 * 保养完成
	 */
	MAINTAIN_FINISH(MaintainPlanContentEnum.MAINTAIN_BY.getId(), TaskStatusEnum.BY_SIGN.getStatus(), "保养完成"),

	/**
	 * 维修报告
	 */
	REPAIR_REPORT(MaintainPlanContentEnum.MAINTAIN_WX.getId(), TaskStatusEnum.BY_MAINTAIN_SIGN.getStatus(), "维修报告"),

	/**
	 * 2024-08-14 新增救援调度中/已出发/已到达/已完成
	 */
	RESCUE_DISPATCH(MaintainPlanContentEnum.MAINTAIN_KR.getId(), TaskStatusEnum.JY_DISPATCH.getStatus(),"救援调度中"),

	RESCUE_PROCESSED(MaintainPlanContentEnum.MAINTAIN_KR.getId(),TaskStatusEnum.JY_PROCESSED.getStatus(), "救援已出发"),

	RESCUE_ARRIVE(MaintainPlanContentEnum.MAINTAIN_KR.getId(), TaskStatusEnum.JY_ARRIVE.getStatus(),"救援已到达"),

	RESCUE_RESCUE(MaintainPlanContentEnum.MAINTAIN_KR.getId(), TaskStatusEnum.JY_RESCUE.getStatus(),"救援完成");

	/**
	 * 状态：复用基础字段，1-维修 2-保养
	 */
	final int status;

	/**
	 * 对应数据库表里面的pushType字段
	 * 0（当前仅维修有该值） 1-开始 2-到场 3-退场 4-完成
	 */
	final int pushType;

	/**
	 * 描述
	 */
	final String description;


}
